package MVC.Controllers;

import MVC.Controller;
import MVC.Models.*;
import MVC.Views.*;

import javax.swing.*;
import java.awt.*;

public class JogadorController extends Controller {

    /* Views */
    private ApplicationView applicationView;
    private TabuleiroView tabuleiroView;

    /* Attributos */
    private Jogador jogador;
    private Lance lance;

    public JogadorController() {
        applicationView = new ApplicationView();
        tabuleiroView = new TabuleiroView();
    }

    /* Actions */
    public void home() {
        render(applicationView);
    }

    public void conectar(String nome, String servidor) {
        boolean exito = netGamesController.conectar(nome, servidor);

        if (exito) {
            Tabuleiro tabuleiro = new Tabuleiro();
            tabuleiro.setConectado(true);

            jogador = new Jogador(nome, tabuleiro);

            //antes de renderizar precisa escolher a cor?
            render(tabuleiroView);
        }
    }

    public void desconectar() {
        boolean exito = netGamesController.desconectar();

        if (exito) {
            jogador.getTabuleiro().setConectado(false);
            jogador.getTabuleiro().setEmAndamento(false);
            render(applicationView);
        }
    }

    public void iniciarPartida()  {

    }

    /* Getters e Setters */
    public ApplicationView getApplicationView() {
        return applicationView;
    }

    public void setApplicationView(ApplicationView applicationView) {
        this.applicationView = applicationView;
    }

    public TabuleiroView getTabuleiroView() {
        return tabuleiroView;
    }

    public void setTabuleiroView(TabuleiroView tabuleiroView) {
        this.tabuleiroView = tabuleiroView;
    }

    public Jogador getJogador() {
        return jogador;
    }

    public void setJogador(Jogador jogador) {
        this.jogador = jogador;
    }

    public Lance getLance() {
        return lance;
    }

    public void setLance(Lance lance) {
        this.lance = lance;
    }
}
